Benjamin Otte [Tue, 29 Dec 2015 03:42:29 +0000 (04:42 +0100)]
notebook: Simplify allocation code
Benjamin Otte [Fri, 25 Dec 2015 22:44:08 +0000 (23:44 +0100)]
notebook: Identify existence of arrows differently
Instead of having gbooleans in the priv struct, just look at the
existence of priv->arrow_node[i].
Benjamin Otte [Fri, 25 Dec 2015 01:39:43 +0000 (02:39 +0100)]
notebook: Convert tab nodes to gadgets
The code does many bad things, so we get a lot of warning spew. Ignore
this for now, fixes will follow.
Benjamin Otte [Fri, 25 Dec 2015 01:12:15 +0000 (02:12 +0100)]
notebook: Assume tab allocations always change
This causes more redraws, but saves a bunch of code.
Benjamin Otte [Fri, 25 Dec 2015 00:27:22 +0000 (01:27 +0100)]
notebook: Remove weird hack where the current page was special-cased
I don't even know what it does, but it assumed that the current page was
always as large or larger than any other page. And that isn't true.
Benjamin Otte [Fri, 25 Dec 2015 00:19:31 +0000 (01:19 +0100)]
boxgadget: Handle css nodes
Automatically insert the cssnode into the box gadget's node's children at
the right place and remove it again when done.
Benjamin Otte [Thu, 24 Dec 2015 19:38:24 +0000 (20:38 +0100)]
notebook: Replace redraw_tabs() with gadget_queue_draw(tabs_gadget)
Benjamin Otte [Thu, 24 Dec 2015 19:34:54 +0000 (20:34 +0100)]
notebook: Don't queue redraw of tabs junction
There is no junction anymore, so don't try to redraw it.
Benjamin Otte [Thu, 24 Dec 2015 19:33:36 +0000 (20:33 +0100)]
gadget: Add queue_resize/allocate/draw() functions
Benjamin Otte [Thu, 24 Dec 2015 14:26:11 +0000 (15:26 +0100)]
notebook: Convert tabs node to a gadget
And in turn, convert the header gadget to a box gadget.
Benjamin Otte [Wed, 23 Dec 2015 03:09:30 +0000 (04:09 +0100)]
boxgadget: Add
Adds a GtkBoxGadget that is a Gadget that behaves like a GtkBox.
Use this gadget to implement the notebook base gadget.
Benjamin Otte [Wed, 23 Dec 2015 02:40:48 +0000 (03:40 +0100)]
notebook: Remove unused function call
Benjamin Otte [Wed, 23 Dec 2015 02:39:12 +0000 (03:39 +0100)]
notebook: Simplify event window position computation
The event window should overlay the header gadget, so just return its
position.
Benjamin Otte [Wed, 23 Dec 2015 00:18:30 +0000 (01:18 +0100)]
notebook: Introduce gtk_notebook_has_current_page()
GtkNotebook does not switch the current page if all pages are hidden. So
it may be that no visible page exsits, but there still is a current
page set.
We culd clear the current page, but I'm unsure about backwards
compatibility.
So instead, this new function handles that case.
Benjamin Otte [Tue, 22 Dec 2015 22:03:38 +0000 (23:03 +0100)]
notebook: Use gtk_container_class_handle_border_width()
Benjamin Otte [Sat, 19 Dec 2015 21:25:34 +0000 (22:25 +0100)]
notebook: Convert header node to a gadget
This allows reworking the content node to do real height-for-width.
The content node also takes care of border width, but we might want to
have the toplevel do it or just get rid of it.
Benjamin Otte [Sat, 19 Dec 2015 07:46:28 +0000 (08:46 +0100)]
gadget: Add helpers for modifying state
They will be used in future commits.
I also was too lazy to convert existing widgets.
Benjamin Otte [Sat, 19 Dec 2015 07:35:18 +0000 (08:35 +0100)]
notebook: Add a stack gadget
The stack gadget contains all the child widgets.
Benjamin Otte [Sat, 19 Dec 2015 07:10:35 +0000 (08:10 +0100)]
notebook: Remove extra calls to gtk_notebook_pages_allocate()
The function is called during size_allocate() and doesn't need to be
called elsewhere, as all other callers call queue_resize() already.
Benjamin Otte [Sat, 19 Dec 2015 07:04:41 +0000 (08:04 +0100)]
notebook: Remove unnessecary gtk_widget_set_mapped()
We chain up, and the chainedup function calls this for us.
Benjamin Otte [Sat, 19 Dec 2015 07:03:41 +0000 (08:03 +0100)]
notebook: Simplify gtk_notebook_map()
We set visibility on our children properly, so we can simply chain up
and let the GtkContainer implementation do the mapping of children.
Benjamin Otte [Sat, 19 Dec 2015 05:58:14 +0000 (06:58 +0100)]
notebook: Remove irrelevant case
The page is never the current page, because it was just created and the
current page wasn't changed yet.
Benjamin Otte [Sat, 19 Dec 2015 05:56:48 +0000 (06:56 +0100)]
notebook: No page switching in size request code
We have page switching under control now, we don't need to check every
get_preferred_size() call.
Benjamin Otte [Sat, 19 Dec 2015 05:56:04 +0000 (06:56 +0100)]
notebook: Set the current page when none is set
This case happens when you gtk_widget_show_all (notebook).
Benjamin Otte [Sat, 19 Dec 2015 02:57:43 +0000 (03:57 +0100)]
notebook: Draw the same things, no matter the show-border value
show-border modifies the "frame" style class on the notebook node, but
not what we actually draw.
Benjamin Otte [Thu, 17 Dec 2015 23:47:03 +0000 (00:47 +0100)]
notebook: Turn the base notebook into a gadget
Benjamin Otte [Thu, 17 Dec 2015 12:16:12 +0000 (13:16 +0100)]
notebook: Draw tab label while drawing tab
Instead of having special case code doing it.
Benjamin Otte [Thu, 17 Dec 2015 04:51:38 +0000 (05:51 +0100)]
notebook: Don't translate before painting notebook
This will allow us to draw children directly from within the notebook
drawing code, which will remove a bunch of special casing.
Benjamin Otte [Thu, 17 Dec 2015 04:27:51 +0000 (05:27 +0100)]
notebook: Deprecate and stop supporting has-tab-gap style property
Benjamin Otte [Thu, 17 Dec 2015 01:39:24 +0000 (02:39 +0100)]
notebook: Ignore and deprecate style properties
Deprecate initial-gap, tab-curvature and tab-overlap properties. All
their features can be achieved using CSS.
This CSS achieves the same effect as a 10px initial gap:
notebook header {
margin-left: 10px;
margin-right: 10px;
}
A tab overlap of 10px can be achieved via:
notebook tabs {
margin-left: 10px;
}
notebook tab {
margin-left: -10px;
}
And tab curvature is essentially the same as padding or border on a tab.
Benjamin Otte [Wed, 6 Jan 2016 17:14:11 +0000 (18:14 +0100)]
rendericon: Save and restore cairo matrix
... instead of requiring cairo_save()/cairo_restore().
Benjamin Otte [Thu, 24 Dec 2015 17:21:38 +0000 (18:21 +0100)]
testnotebookdnd: Add an action widget
Just so we have some test that tests action widgets.
Benjamin Otte [Sat, 19 Dec 2015 07:09:06 +0000 (08:09 +0100)]
dnd: When setting a dnd icon widget, unset old one
Setting a DND icon twice should actually work and not cause warnings the
2nd time.
Jiro Matsuzawa [Mon, 11 Jan 2016 14:58:16 +0000 (23:58 +0900)]
Updated Japanese translation
Change B series paper names in accordance with the Japanese standards.
Krzesimir Nowak [Mon, 11 Jan 2016 11:05:18 +0000 (12:05 +0100)]
Fix a small mistake in stylecontext docs
Fix the "will be also be" to become "will also be".
Dušan Kazik [Mon, 11 Jan 2016 09:48:05 +0000 (09:48 +0000)]
Updated Slovak translation
Matthias Clasen [Sun, 10 Jan 2016 22:08:56 +0000 (17:08 -0500)]
Update style class docs
Instead of pointing to (outdated) widgets here, just refer to
widget docs in general.
Matthias Clasen [Sun, 10 Jan 2016 21:22:03 +0000 (16:22 -0500)]
Improve GtkStyleContext docs
Refer to the foreign drawing example in gtk3-demo, refer to
the widget documentation for style properties, remove
no-longer-used treeview regions.
Matthias Clasen [Sun, 10 Jan 2016 20:32:53 +0000 (15:32 -0500)]
Add foreigndrawing example to gtk3-demo
This makes it easier accessible and nicer to refer to
from the documentation.
Matthias Clasen [Sun, 10 Jan 2016 19:50:24 +0000 (14:50 -0500)]
Add a css style test for adjacent states
This test checks that the selector E:state + F works as expected.
https://bugzilla.gnome.org/show_bug.cgi?id=722727
Ting-Wei Lan [Sat, 9 Jan 2016 09:24:12 +0000 (17:24 +0800)]
Cast the return value of g_array_free to void* before casting to char**
Let the compiler know that we don't want to use it as char*, so there is
no alignment error.
https://bugzilla.gnome.org/show_bug.cgi?id=760350
https://bugzilla.gnome.org/show_bug.cgi?id=755659
Rico Tzschichholz [Sun, 10 Jan 2016 15:49:42 +0000 (16:49 +0100)]
GdkSeat: Fix annotation of gdk_seat_grab()
Matthias Clasen [Sun, 10 Jan 2016 04:42:37 +0000 (23:42 -0500)]
Fix rendering of unsymmetric borders
There was an errant path that threw off our clipping for
the top section of the border.
https://bugzilla.gnome.org/show_bug.cgi?id=722937
Matthias Clasen [Sat, 9 Jan 2016 22:30:33 +0000 (17:30 -0500)]
Avoid division by 0 in the border rendering code
We skip sides with 0 border width in render_border, but when
we collect sides with the same style, we may pass the 0 width
down to render_frame_stroke anyway. So skip width 0 sides
there as well.
Jiri Grönroos [Sat, 9 Jan 2016 21:39:37 +0000 (21:39 +0000)]
Updated Finnish translation
Matthias Clasen [Sat, 9 Jan 2016 19:36:05 +0000 (14:36 -0500)]
Fix dobule border rendering
This is the same fix that was applied for ridge and groove
style in
9f27ee7f5abf49a20ac95d57b306ecd4294b49c6.
Lapo Calamandrei [Sat, 9 Jan 2016 19:05:41 +0000 (20:05 +0100)]
Adwaita: transparent background for progressbar.osd
Hopefully fixes https://bugzilla.gnome.org/show_bug.cgi?id=760331
Added the .osd style class to the progressbar docs.
Lapo Calamandrei [Sat, 9 Jan 2016 18:27:15 +0000 (19:27 +0100)]
gtkheaderbar: add titlebutton styleclass to the separator
...of the window control buttons
Lapo Calamandrei [Sat, 9 Jan 2016 17:03:26 +0000 (18:03 +0100)]
Adwaita: shortcut window related fixes
Lapo Calamandrei [Sat, 9 Jan 2016 14:30:20 +0000 (15:30 +0100)]
Adwaita: avoid colorswatch growing when drop targets
Lapo Calamandrei [Sat, 9 Jan 2016 13:36:05 +0000 (14:36 +0100)]
Adwaita: more scss cosmetics
Lapo Calamandrei [Sat, 9 Jan 2016 12:35:48 +0000 (13:35 +0100)]
Adwaita: rely on background-image for paned wide separators
this workaround fixes the rendering issue coming out using borders
Lapo Calamandrei [Sat, 9 Jan 2016 12:04:27 +0000 (13:04 +0100)]
Adwaita: make the paned wide separator scss code correct
unfortunatelly the results are not, borders behaves in a weird way
here as well, if this don't get fixed I'll rely on background here
too.
Lapo Calamandrei [Sat, 9 Jan 2016 11:38:49 +0000 (12:38 +0100)]
Adwaita: some scss cosmetic changes
Lapo Calamandrei [Sat, 9 Jan 2016 11:31:41 +0000 (12:31 +0100)]
Adwaita: fix thin paned separators
Lapo Calamandrei [Sat, 9 Jan 2016 11:05:31 +0000 (12:05 +0100)]
Adwaita: use stricter selectors on paned separators
this fixes the "fat" separator on gedit headerbar, since it was
cought by the paned separator styling.
Lapo Calamandrei [Sat, 9 Jan 2016 10:55:40 +0000 (11:55 +0100)]
Adwaita: remove old headerbar separator styling
which was actually selecting nothing now.
Lapo Calamandrei [Sat, 9 Jan 2016 10:25:08 +0000 (11:25 +0100)]
Adwaita: add vertical margins to headebar entries and separators
Lapo Calamandrei [Sat, 9 Jan 2016 09:19:47 +0000 (10:19 +0100)]
Adwaita: add vertical margins to headerbar buttons
to avoid them spanning the whole headerbar height with the changes
introduced in my last commit.
Matthias Clasen [Sat, 9 Jan 2016 04:31:48 +0000 (23:31 -0500)]
CSS documenation improvements
Work around some problems with the formatting of the online
docs, and split off the properties as a separate chapter.
Matthias Clasen [Fri, 8 Jan 2016 19:51:36 +0000 (14:51 -0500)]
3.19.6
Matthias Clasen [Fri, 8 Jan 2016 22:51:53 +0000 (17:51 -0500)]
Fix make dist
I've forgotten another place when renaming HighContrast inverse.
Matthias Clasen [Fri, 8 Jan 2016 20:56:27 +0000 (15:56 -0500)]
reftests: Drop deprecated style properties
Matthias Clasen [Fri, 8 Jan 2016 20:45:32 +0000 (15:45 -0500)]
Update expect output of a11y tests
Matthias Clasen [Fri, 8 Jan 2016 20:38:38 +0000 (15:38 -0500)]
Update the list of required cursors
We're now using standard cursor names for DND, so check for these.
Matthias Clasen [Fri, 8 Jan 2016 20:38:02 +0000 (15:38 -0500)]
wayland: Ensure we have a dnd-ask cursor
We use this for DND, so make sure that we fall back to some other
cursor if this one isn't present.
Matthias Clasen [Fri, 8 Jan 2016 20:37:10 +0000 (15:37 -0500)]
x11: Ensure we have a dnd-ask cursor
We use this for DND, so make sure that we fall back to some other
cursor if this one isn't present.
Matthias Clasen [Fri, 8 Jan 2016 20:36:32 +0000 (15:36 -0500)]
Use standard cursor names for DND
At least as far as we have them. CSS has on equivalent of dnd-ask,
so we keep using that name as-is.
Cosimo Cecchi [Fri, 8 Jan 2016 22:58:25 +0000 (14:58 -0800)]
colorswatch: don't apply padding twice
Instead of taking the border and manually removing it from the
allocation, render our background over all the border allocation box, as
that's more correct and does not take padding into account twice.
Carlos Garnacho [Thu, 24 Dec 2015 18:03:02 +0000 (19:03 +0100)]
paned: Use GtkGestureDrag for anything else than touch
The GtkGesturePan behavior of locking onto certain orientations may
come across as confusing, and is not strictly necessary for mice and
other pointing devices.
As GtkGesturePan is also a GtkGestureDrag, we just use the same
callbacks on both gestures.
https://bugzilla.gnome.org/show_bug.cgi?id=759670
Carlos Garnacho [Fri, 8 Jan 2016 20:45:03 +0000 (21:45 +0100)]
wayland: Force the grab cursor while a grab is active
When a cursor is specified in gdk_seat_grab(), the cursor is reverted as
soon as the pointer enters or leaves another window.
To avoid this issue, store the grab cursor separately, so we force-apply
it in ::set_window_cursor(). Also, unset early the seat info from the
window on gdk_seat_ungrab(), so the next time switch_to_pointer_grab()
happens we end up picking the cursor set for the window underneath the
pointer window.
Based on a patch by Olivier Fourdan <ofourdan@redhat.com>.
https://bugzilla.gnome.org/show_bug.cgi?id=760213
Carlos Garnacho [Thu, 7 Jan 2016 17:55:04 +0000 (18:55 +0100)]
x11: Initialize GdkWindowAttr struct memory
Valgrind complains about jumps based on uninitialized values
otherwise.
Lapo Calamandrei [Fri, 8 Jan 2016 19:56:40 +0000 (20:56 +0100)]
Adwaita: avoid too tall headerbars
the vertical padding from the headerbar has been removed, now the
sizing is done with min-height, this avoids title and subtitle
labels making the headbar.
Matthias Clasen [Fri, 8 Jan 2016 18:48:10 +0000 (13:48 -0500)]
Avoid an X error
We are getting the mime data destroy notify called when we
destroy the surface in finalize. Trying to set the XSync counters
at this time is a) pointless and b) yielding an X error because
the counters have already been destroyed.
To avoid this, unhook the damage tracking before destroying
the surface.
https://bugzilla.gnome.org/show_bug.cgi?id=760188
Matthias Clasen [Fri, 8 Jan 2016 18:44:36 +0000 (13:44 -0500)]
x11: Fix damage tracking hack
We are setting mime data with a destroy notify on the cairo
surface to get notified when cairo registers damage for the
surface (in that case, it clears the mime data, calling the
destroy notify). Unfortunately, the destroy notify is also
called when we remove the mime data ourselves, which was
not intentional.
Use a flag in the window impl struct to ignore the callback
when we are clearing the hook.
Matthias Clasen [Fri, 8 Jan 2016 18:17:58 +0000 (13:17 -0500)]
Be more careful with floating point divisions
The assumption that MIN() takes care of all infinities here
turns out to be wrong. We were getting inf and -nan for some
combinations of 0 width/height and corners, leading to invalid
matrices and cairo errors.
https://bugzilla.gnome.org/show_bug.cgi?id=759668
Matthias Clasen [Fri, 8 Jan 2016 16:30:44 +0000 (11:30 -0500)]
x11: Simplify drag cancel animation setup
Instead of creating an intermediate pixbuf, just render
the window surface onto the new surface. Doing things this
way lets us avoid the cairo_surface_mark_dirty() call in
gdk_pixbuf_get_from_window(), which is not generally safe
to call on 'random' surfaces - it asserts that the surface
has no mime data attached, and the X11 backend uses mime
data for damage tracking purposes...
Matthias Clasen [Fri, 8 Jan 2016 16:29:58 +0000 (11:29 -0500)]
x11: Keep the drag window alive longer
We destroy the widget that is wrapped around the drag window
when the object data on the drag context gets cleared. Destroying
the window before that happens leads to unpleasantries. E.g. we may
try to access the frame clock, which doesn't exist anymore, and
things go downhill from there. So, keep the window alive for
a little longer.
Matthias Clasen [Fri, 8 Jan 2016 16:22:47 +0000 (11:22 -0500)]
wayland: Keep the drag window alive longer
We destroy the widget that is wrapped around the drag window
when the object data on the drag context gets cleared. Destroying
the window before that happens leads to unpleasantries. E.g. we may
try to access the frame clock, which doesn't exist anymore, and
things go downhill from there. So, keep the window alive for
a little longer.
Matthias Clasen [Fri, 8 Jan 2016 16:12:55 +0000 (11:12 -0500)]
Forgotten file
One was forgotten in the dark -> inverse rename.
Matthias Clasen [Fri, 8 Jan 2016 16:08:37 +0000 (11:08 -0500)]
color editor: Set a name on the color sample
This can be used to tweak the style from CSS, via #editor-color-sample.
Lapo Calamandrei [Fri, 8 Jan 2016 15:48:01 +0000 (16:48 +0100)]
Adwaita: remove some now uneeded selectors
...related to image-button sizing which is handled differently now.
Lapo Calamandrei [Fri, 8 Jan 2016 15:31:30 +0000 (16:31 +0100)]
Adwaita: colorchooser and color button style rewrite
fixing https://bugzilla.gnome.org/show_bug.cgi?id=760169 in the
process.
Chun-wei Fan [Fri, 8 Jan 2016 10:44:24 +0000 (18:44 +0800)]
CJK Windows: Silence gtk_style_context_set_state() warnings
We need to update calls to gtk_style_context_set_state() in
gtkimcontextime.c, so that the state passed into that function would be in
line with what GtkStyleContext expects, due to updates in the CSS
machinery, as outlined in this link[1], which is based on information in
in Matthias' blog[2].
Doing so will silence the gtk_style_context_set_state() warnings, which is
emitted when a widget uses gtkimcontext on Windows with CJK IME, which will
in turn call gtkimcontextime.
[1]: http://feaneron.com/2016/01/04/quick-guide-to-port-an-app-for-gtk-3-20/
[2]: https://blogs.gnome.org/mclasen/2015/11/20/a-gtk-update/
https://bugzilla.gnome.org/show_bug.cgi?id=760314
Matthias Clasen [Fri, 8 Jan 2016 13:59:02 +0000 (08:59 -0500)]
Revert "Translate GDK_KEY_KP_Decimal according to locale"
This reverts commit
7c7fde136e1fd1197df1881a3bbd975c4cb1c01a.
Too much controversy for this minor improvement.
See https://bugzilla.gnome.org/show_bug.cgi?id=756751
Matthias Clasen [Fri, 8 Jan 2016 12:39:17 +0000 (07:39 -0500)]
Rename the HighContastInverse css files
Renaming the files from -dark to -inverse makes it more obvious
that this is not a dark variant in the sense of the 'prefer-dark'
setting, but rather a separate theme (sharing the same CSS).
Matthias Clasen [Fri, 8 Jan 2016 04:56:03 +0000 (23:56 -0500)]
Document caret CSS properties
Matthias Clasen [Thu, 7 Jan 2016 03:12:35 +0000 (22:12 -0500)]
Deprecate cursor-color style properties
These have been replaced by CSS properties.
Matthias Clasen [Thu, 7 Jan 2016 03:07:09 +0000 (22:07 -0500)]
Use the caret-color properties for drawing carets
Replace the cursor-color and secondary-cursor-color style
properties with the caret-color and -gtk-secondary-caret-color
CSS properties.
For the 'auto' value of these properties, we keep the same
behavior that we used to have when the style properties are
not explicitly set.
Matthias Clasen [Thu, 7 Jan 2016 03:05:29 +0000 (22:05 -0500)]
Add the caret-color CSS property
This property is defined in http://www.w3.org/TR/css3-ui/#caret-color.
We also add a -gtk-secondary-caret-color property, since GTK+ has
supported differently colored split cursors in the past. Unlike
CSS, we don't support the weakly defined auto keyword, and just
use currentColor as the initial value.
Timm Bäder [Fri, 8 Jan 2016 12:23:56 +0000 (13:23 +0100)]
gtk3-demo: Remove unused GtkCellView
Alberto Ruiz [Mon, 28 Dec 2015 20:14:08 +0000 (20:14 +0000)]
introspection: This patch fixes nullable return values fixes for the following symbols in gtk
gtk_accel_group_query
gtk_accel_group_from_accel_closure
gtk_accel_label_get_accel_widget
gtk_accessible_get_widget
gtk_actionable_get_action_name
gtk_app_chooser_get_app_info
gtk_app_chooser_button_get_heading
gtk_app_chooser_dialog_get_heading
gtk_application_get_window_by_id
gtk_assistant_get_nth_page
gtk_binding_set_find
gtk_builder_get_object
gtk_builder_lookup_callback_symbol
gtk_builder_get_application
gtk_button_get_image
gtk_cell_area_get_focus_from_sibling
gtk_cell_renderer_start_editing
gtk_cell_view_get_model
gtk_cell_view_get_displayed_row
gtk_clipboard_get_owner
gtk_container_get_focus_child
gtk_container_get_focus_vadjustment
gtk_container_get_focus_hadjustment
gtk_dialog_get_widget_for_response
gtk_drag_get_source_widget
gtk_drag_dest_get_target_list
gtk_drag_source_get_target_list
gtk_entry_completion_get_model
gtk_entry_completion_compute_prefix
gtk_expander_get_label_widget
gtk_file_chooser_get_filename
gtk_file_chooser_get_current_folder
gtk_file_chooser_get_uri
gtk_file_chooser_get_current_folder_uri
gtk_file_chooser_get_preview_widget
gtk_file_chooser_get_preview_file
gtk_file_chooser_get_preview_filename
gtk_file_chooser_get_preview_uri
gtk_file_chooser_get_extra_widget
gtk_file_chooser_get_filter
gtk_file_chooser_native_get_accept_label
gtk_file_chooser_native_get_cancel_label
gtk_file_filter_get_name
gtk_font_chooser_get_font_family
gtk_font_chooser_get_font_face
gtk_font_chooser_get_font
gtk_font_chooser_get_font_desc
gtk_font_chooser_get_font_map
gtk_frame_get_label
gtk_gesture_get_device
gtk_gesture_get_window
gtk_gl_area_get_error
gtk_header_bar_get_title
gtk_header_bar_get_subtitle
gtk_header_bar_get_custom_title
gtk_icon_info_get_filename
gtk_icon_view_get_path_at_pos
gtk_icon_view_get_model
gtk_image_get_pixbuf
gtk_image_get_animation
gtk_label_get_mnemonic_widget
gtk_label_get_attributes
gtk_check_version
gtk_menu_button_get_popup
gtk_menu_button_get_menu_model
gtk_menu_button_get_align_widget
gtk_menu_button_get_popover
gtk_menu_item_get_submenu
gtk_menu_item_get_accel_path
gtk_native_dialog_get_title
gtk_native_dialog_get_transient_for
gtk_notebook_get_nth_page
gtk_notebook_get_tab_label_text
gtk_notebook_get_menu_label
gtk_notebook_get_menu_label_text
gtk_notebook_get_group_name
gtk_notebook_get_action_widget
gtk_offscreen_window_get_surface
gtk_offscreen_window_get_pixbuf
gtk_paned_get_child1
gtk_paned_get_child2
gtk_places_sidebar_get_location
gtk_places_sidebar_get_nth_bookmark
gtk_plug_get_socket_window
gtk_popover_get_default_widget
gtk_progress_bar_get_text
gtk_recent_filter_get_name
gtk_recent_manager_lookup_item
gtk_settings_get_default
gtk_socket_get_plug_window
gtk_stack_sidebar_get_stack
gtk_stack_switcher_get_stack
gtk_style_context_get_section
gtk_style_context_get_parent
gtk_style_context_get_frame_clock
gtk_test_find_widget
gtk_text_buffer_get_mark
gtk_text_tag_table_lookup
gtk_text_view_get_tabs
gtk_text_view_toggle_cursor_visible
gtk_text_view_get_window
gtk_toolbar_get_nth_item
gtk_tool_button_get_label
gtk_tool_button_get_icon_name
gtk_tool_button_get_label_widget
gtk_tool_button_get_icon_widget
gtk_tool_palette_get_drop_item
gtk_tool_palette_get_drop_group
gtk_tree_model_filter_convert_child_path_to_path
gtk_tree_model_filter_convert_path_to_child_path
gtk_tree_model_sort_convert_child_path_to_path
gtk_tree_model_sort_convert_path_to_child_path
gtk_tree_view_get_column
gtk_tree_view_get_bin_window
gtk_tree_view_column_get_widget
gtk_tree_view_column_get_tree_view
gtk_widget_get_frame_clock
gtk_window_group_get_current_device_grab
GtkTextBufferSerializeFunc
Olivier Fourdan [Tue, 8 Dec 2015 15:33:45 +0000 (16:33 +0100)]
wayland: Update parent of dialogs without transient
X11 has the notions of "transient for group", and while it's an ICCCM
violation, it's commonly used and documented that a window manager
would treat a window with transient_for set to None to transient for all
windows of its group.
gtk uses this when an application sets a dialog type window but does not
specify an explicit transient.
While this works on X11, there is no such thing as groups in Wayland and
the closest equivalent which is set_parent() in xdg-shell takes only one
parent. This is what is used for modal dialogs.
To get something similar in behavior to what is available on X11, a
solution is to update the parent() of the dialogs without transient when
the active surface changes.
Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=759161
Olivier Fourdan [Mon, 21 Dec 2015 13:35:53 +0000 (14:35 +0100)]
wayland: prefer subsurface when possible
Quite a few applications use GTK_WINDOW_POPUP to create various
temporary windows and place then on screen. That works fine on X11 but
on Wayland there is no global coordinate system for regular surfaces.
If the application is using a gdk temp window and set a parent with
gtk_window_transient_for(), the gdk wayland backend has all it needs to
create a subsurface that can be placed at will by the application.
Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=759738
Timm Bäder [Fri, 8 Jan 2016 08:38:32 +0000 (09:38 +0100)]
revealer: Propagate draw event
Timm Bäder [Tue, 5 Jan 2016 18:05:43 +0000 (19:05 +0100)]
GtkPopover: Protect against transparent backgrounds
If the background is transparent, we can't use it for the input shape,
since that will be empty. Draw a box with rounded corners irectly
instead, in fully opaque black.
https://bugzilla.gnome.org/show_bug.cgi?id=759905
Ben Gamari [Tue, 5 Jan 2016 23:36:21 +0000 (00:36 +0100)]
gdkwindow-x11: Ensure that extended update counter is freed
I believe this lead to rampant leakage of SyncCounters by
gnome-terminal.
https://bugzilla.gnome.org/show_bug.cgi?id=760188
Matthias Clasen [Fri, 8 Jan 2016 00:49:17 +0000 (19:49 -0500)]
inspector: Sort themes in the various theme combos
It is nicer if the themes show up in a predictable order,
so sort them alphabetically.
Matthias Clasen [Fri, 8 Jan 2016 00:50:15 +0000 (19:50 -0500)]
inspector: Add HighContrastInverse to list of themes
Matthias Clasen [Fri, 8 Jan 2016 00:47:58 +0000 (19:47 -0500)]
Rename HighContrast-dark to HighContrastInverse
For accessibility purposes, it is better to have this as a
separate theme than as a dark variant of the HighContrast theme.